Formally verifying exceptions for low-level code with separation logic
نویسندگان
چکیده
منابع مشابه
Verifying Parallel Loops with Separation Logic
This paper proposes a technique to specify and verify whether a loop can be parallelised. Our approach can be used as an additional step in a parallelising compiler to verify user annotations about loop dependences. Essentially, our technique requires each loop iteration to be specified with the locations it will read and write. From the loop iteration specifications, the loop (in)dependences c...
متن کاملVerifying Executable Object-Oriented Specifications with Separation Logic
Specifications of Object-Oriented programs conventionally employ Boolean expressions of the programming language for assertions. Programming errors can be discovered by checking at runtime whether an assertion, such as a precondition or class invariant, holds. In this work, we show how separation logic can be used to verify that these executable specifications will always hold at runtime. Both ...
متن کاملVerifying Traditional Object-Oriented Specifications with Separation Logic
Specifications of Object-Oriented programs traditionally employ Boolean expressions of the programming language for assertions. Programming errors can be discovered by checking at runtime whether an assertion, such as a precondition or class invariant, holds. In this work, we show how separation logic can be used to verify that traditional-style specifications will always hold at runtime. A nov...
متن کاملVerifying Higher-Order Imperative Programs with Higher-Order Separation Logic
In this thesis I show is that it is possible to give modular correctness proofs of interesting higher-order imperative programs using higher-order separation logic. To do this, I develop a model higher-order imperative programming language, and develop a program logic for it. I demonstrate the power of my program logic by verifying a series of examples, culminating in the correctness proof of a...
متن کاملSymbolic Techniques for Formally Verifying Industrial Systems
The design of correct computer systems is extremely difficult. However, it is also a very important task. Such systems are frequently used in applications where failures can have catastrophic consequences, or cause significant financial losses. Simulation and testing are the most widely used verification techniques, but they can only show the presence of errors and cannot demonstrate correctnes...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Logical and Algebraic Methods in Programming
سال: 2018
ISSN: 2352-2208
DOI: 10.1016/j.jlamp.2017.09.004